package cn.gdcp.listview;

import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    private  long lastPressTime=0;//定义上次按下的时间
    private final String TAG="MainActivity";

    //要显示一个数组，我们就用ArrayAdapter，数组适配器，数据的数据类型<>是String类型的，
    // 数据的数据类型还可以是其他的包括对象类。
    /*ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>( ArrayListDemo.this, android.R.layout.simple_list_item_1, adapterData); 
    这段代码是创建一个数组适配器的代码，里面有三个参数，第一个参数是上下文，就是当前的Activity,
    第二个参数是android sdk中自己内置的一个布局，它里面只有一个TextView，
    这个参数是表明我们数组中每一条数据的布局是这个view，就是将每一条数据都显示在这个view上面；
    第三个参数就是我们要显示的数据。listView会根据这三个参数，
    遍历adapterData里面的每一条数据，读出一条，显示到第二个参数对应的布局中，
    这样就形成了我们看到的listView. */

    private ListView nameListView; //创建承载数据的视图容器
    //private String[] nameArr={"张三","李四","赵柳","董卓","徐磊"};
    private ArrayList<Student> studentArrayList=new ArrayList<>();
    private MyAdapter adapter; //创建适配器


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //初始化学生列表
        initStulist();

        nameListView=findViewById(R.id.name_listview);
        //为适配器添加数据源
        /*adapter=new ArrayAdapter<String>(
                MainActivity.this,
                //android.R.layout.simple_list_item_1,//也可以在layout自己创建一个文件
                //打开simple_list_item_1：按住ctrl不放，再点simple_list_item_1；
                R.layout.my_list_item,//运用自己设置的布局
                nameArr
        );*/

        //自定义适配器
        adapter=new MyAdapter(MainActivity.this,studentArrayList);

        nameListView.setAdapter(adapter);//为listView的容器添加适配器
    }

    private void initStulist() {
        Student s1=new Student(R.drawable.dog1,"张一",18);
        Student s2=new Student(R.drawable.dog2,"张二",19);
        Student s3=new Student(R.drawable.dog3,"张三",20);
        Student s4=new Student(R.drawable.dog4,"张四",21);
        Student s5=new Student(R.drawable.dog5,"张五",22);
        Student s6=new Student(R.drawable.dog6,"张六",23);
        Student s7=new Student(R.drawable.dog7,"张七",24);
        studentArrayList.add(s1);
        studentArrayList.add(s2);
        studentArrayList.add(s3);
        studentArrayList.add(s4);
        studentArrayList.add(s5);
        studentArrayList.add(s6);
        studentArrayList.add(s7);
        studentArrayList.add(s1);
        studentArrayList.add(s2);
        studentArrayList.add(s3);
        studentArrayList.add(s4);
        studentArrayList.add(s5);
        studentArrayList.add(s6);
        studentArrayList.add(s7);
    }

    @Override
    public void onBackPressed() {
        long currentPressTime=System.currentTimeMillis();// 这次按下的时间
        /*Log.e(TAG,"currentPressTime="+currentPressTime); //打印出相隔秒数
        super.onBackPressed();*/

        if(currentPressTime-lastPressTime>2000){
            lastPressTime=currentPressTime; //刷新上次按下的时间，重新记录
            Toast.makeText(MainActivity.this,"再按一次退出",Toast.LENGTH_SHORT).show();
        }else{
            super.onBackPressed();
        }
    }
}
